package com.zhonglz.api.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/***
 * 测试jdbc手动创建数据库表结构
 * @author xiaozhong
 */
public class CreateDB {

	private static String driver = "com.mysql.jdbc.Driver";   
	
	private static String url = "jdbc:mysql://47.119.164.247:3306/zapi?useUnicode=true&characterEncoding=utf-8&useSSL=false";   
	
	private static String userName = "root";
	
	private static String password = "3AEJT2f7m7Y6tA3N";
	
	
	public static void main(String[] args) throws SQLException, ClassNotFoundException{
		//连接数据库
				Class.forName(driver);
				//测试url中是否包含useSSL字段，没有则添加设该字段且禁用
				if( url.indexOf("?") == -1 ){
					url = url + "?useSSL=false" ;
				}
				else if( url.indexOf("useSSL=false") == -1 || url.indexOf("useSSL=true") == -1 )
				{
					url = url + "&useSSL=false";
				}
				//获取数据库连接
				Connection conn = DriverManager.getConnection(url, userName, password);
				Statement stat = conn.createStatement();
				//获取数据库表名
				ResultSet rs = conn.getMetaData().getTables(null, null, "sys_admin_divisions", null);
				// 判断表是否存在，如果存在则什么都不做，否则创建表
				if( rs.next() ){
					System.out.println("创建失败，数据库中已存在表结构");
					return;
				}else{
					// 先判断是否纯在表名，有则先删除表在创建表
					//stat.executeUpdate("DROP TABLE IF EXISTS sys_admin_divisions;");
					//创建行政区划表
					stat.executeUpdate("CREATE TABLE sys_admin_divisions("
							+ "ID varchar(32) NOT NULL COMMENT '行政区划ID(行政区划代码)这里不使用32位的UUID,使用全数字的行政区域代码作为ID(如:440000)',"
							+ "TYPE varchar(50) DEFAULT NULL COMMENT '类型（1省级 2市级 3区县）',"
							+ "CODE varchar(50) DEFAULT NULL COMMENT '字母代码',"
							+ "NAME varchar(100) DEFAULT NULL COMMENT '名称',"
							+ "PINYIN varchar(100) DEFAULT NULL COMMENT '拼音',"
							+ "PARENT_ID varchar(32) DEFAULT NULL COMMENT '上级行政区划数字代码',"
							+ "IS_DISPLAY int(1) DEFAULT NULL COMMENT '是否显示( 0:否 1:是 )',"
							+ "SORT bigint(20) DEFAULT NULL COMMENT '排序标识',"
							+ "DEL_FLAG int(1) DEFAULT NULL COMMENT '删除标识(0:正常 1:已删除)',"
							+ "PRIMARY KEY (ID)"
							+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='行政区划 (省市区)';"
							);
					System.out.println("创建成功！");
				}
				// 释放资源
				stat.close();
		        conn.close();

	}

}
